// pages/login/login.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

    //是否为密码框
    isPassword: true,

    //用户登录数据
    userInfo: {
      phone: '',
      password: ''
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    
  },

  //查看密码
  viewPassword(e) {
    this.setData({
      isPassword: e.detail
    })
  },

  //修改用户登录数据
  changeUserInfo(e) {
    let key = e.currentTarget.dataset.key;
    this.data.userInfo[key] = e.detail;
  },

  //登录
  login() {

    //验证用户登录信息是否合法
    let phoneReg = /^1[3-9]\d{9}$/;

    if (!phoneReg.test(this.data.userInfo.phone)) {
      wx.showToast({
        title: '手机号不正确',
        icon: 'none',
        duration: 3000
      })
      return;
    }

    let passwordReg = /^[A-Za-z]\w{5,15}$/;
    if (!passwordReg.test(this.data.userInfo.password)) {
      wx.showToast({
        title: '密码格式不正确',
        icon: 'none',
        duration: 2000
      })
      return;
    }

    console.log('发起登录请求');

    wx.showLoading({
      title: '登录中...'
    })

    //先查询当前手机号是否被注册
    wx.cloud.callFunction({
      name: 'login_user',
      data: {
        ...this.data.userInfo
      }
    }).then(res => {
      console.log('查询用户信息 res ==> ', res);
      wx.hideLoading();

      if (res.result.code === -1) {
        //注册
        this.register();
      } else if (res.result.code === 1) {
        // 将登录验证的id保存到本地
        wx.setStorageSync('_id', res.result._id)
        // 将用户登录的手机号保存到本地
        // console.log(this.data.userInfo);
        wx.setStorageSync('userInfo', this.data.userInfo)
        console.log(res);
        //登录成功
        wx.switchTab({
          url: '../user/index'
        })
        console.log("登录成功");

      } else {

        wx.showToast({
          title: res.result.msg,
          icon: 'none',
          duration: 2000
        })

      }

    }).catch(err => {
      console.log('err ==> ', err);
      wx.hideLoading();
    })

  },

  //注册用户
  register() {

    wx.showLoading({
      title: '加载中...'
    })

    wx.cloud.callFunction({
      name: 'add_user',
      data: {
        ...this.data.userInfo
      }
    }).then(res => {
      console.log('注册用户res ==> ', res);

      wx.hideLoading();

      if (res.result.code === 1) {
         // 将登录验证的id保存到本地
         wx.setStorageSync('_id', res.result._id)
        wx.switchTab({
          url: '../user/index'
        })
      } else {
        wx.showToast({
          title: '登录失败',
          icon: 'none',
          duration: 2000
        })
      }
      

    }).catch(err => {
      console.log('注册用户err ==> ', err);
      wx.hideLoading();
    })
  }

  
})